<?php

class Sedes_Model_Sedes extends Model_Cna {
	
	/**
	 * Devuelve un arreglo del listado de sedes
	 * @return array
	 */
	public function getSedes() {
		$sedesTable = new Sedes_Model_DbTable_Sedes();
		return $sedesTable->getSedes();
	}
	
	/**
	 * Almacena los datos de una sede en la base de datos
	 * @param array $datos Los datos de la sede
	 */
	public function guardarSede($datos) {
		$sedesTable = new Sedes_Model_DbTable_Sedes();
		
		if(isset($datos["codsede"]) && !empty($datos["codsede"])) {
			$row = $sedesTable->find($datos["codsede"])->current();
			$row->setFromArray($datos)->save();
		} else {
			unset($datos["codsede"]);
			return $sedesTable->createRow($datos)->save();
		}
		
	}
	
	/**
	 * Carga los datos de una sede
	 * @param int $codsede
	 * @return Array con los datos de la sede
	 */
	public function getSede($codsede){
		$sedesTable = new Sedes_Model_DbTable_Sedes();
		return $sedesTable->find($codsede)->current()->toArray();
	}
	
	/**
	 * Eliminar sede
	 * @param $codsede
	 * @return int El número de filas eliminadas
	 */
	public function eliminarSede($codsede){
		$sedesTable = new Sedes_Model_DbTable_Sedes();
		return $sedesTable->find($codsede)->current()->delete();
	}
	
	/**
	 * Obtiene los datos de la sede asociada al usuario
	 * @param integer $codusuario
	 * @return Array
	 */
	public function getDatosSedeUsuario($codusuario) {
	    $sedesTable = new Sedes_Model_DbTable_Sedes();
		return $sedesTable->getDatosSedeUsuario($codusuario);
	}
	
	/**
	 * Devuelve un arreglo del listado de sedes
	 * @param Array $datos datos de la búsquedas
	 * @return Array
	 */
	public function cargardatosauto($dato){
		$sedesTable = new Sedes_Model_DbTable_Sedes();
		return $sedesTable->fetchAuto($dato);
	}
		
}
